package com.ittao.taoaicodemother.core.saver;

import lombok.Data;

/**
 * 代码保存结果封装类
 * 用于封装代码保存后的路径信息，支持不同存储策略的路径表示
 */
@Data
public class CodeSaveResult {
    
    /**
     * 存储路径（相对路径，如：userApp/20/code_output/html_20）
     */
    private String storagePath;
    
    /**
     * 显示路径（用于日志和用户展示的完整路径）
     * 本地存储：绝对文件路径
     * COS存储：完整的COS URL
     */
    private String displayPath;
    
    /**
     * 用户ID
     */
    private Long userId;
    
    /**
     * 应用ID
     */
    private Long appId;
    
    public CodeSaveResult(String storagePath, String displayPath, Long userId, Long appId) {
        this.storagePath = storagePath;
        this.displayPath = displayPath;
        this.userId = userId;
        this.appId = appId;
    }
    
    /**
     * 获取用于日志显示的路径
     * @return 显示路径
     */
    public String getAbsolutePath() {
        return displayPath;
    }
}